]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
osdWindow: Use float values as input for osdWindow
authorverdre <verdre@v0yd.nl>
Sat, 2 Feb 2019 16:50:04 +0000 (17:50 +0100)
committerFlorian Müllner <fmuellner@gnome.org>
Sun, 28 Jul 2019 15:27:53 +0000 (17:27 +0200)
Using the same type/interval as BarLevel means we can cut out the intermediate
LevelBar class in a follow-up cleanup.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/385

js/ui/osdWindow.js
js/ui/shellDBus.js
js/ui/status/volume.js

index 2d92d7cbb846bbb4291eb701ba0b44b6a9a92272..9262f28d4abf9271638a358c75794b682bef09a0 100644 (file)
@@ -18,7 +18,7 @@ var LevelBar = class extends BarLevel.BarLevel {
         super(0, { styleClass: 'level' });
 
         this._level = 0;
-        this._maxLevel = 100;
+        this._maxLevel = 1;
 
         this.actor.accessible_name = _("Volume");
 
@@ -32,7 +32,7 @@ var LevelBar = class extends BarLevel.BarLevel {
     set level(value) {
         this._level = Math.max(0, Math.min(value, this._maxLevel));
 
-        this.value = this._level / 100;
+        this.value = this._level;
     }
 
     get maxLevel() {
@@ -40,9 +40,9 @@ var LevelBar = class extends BarLevel.BarLevel {
     }
 
     set maxLevel(value) {
-        this._maxLevel = Math.max(100, value);
+        this._maxLevel = Math.max(1, value);
 
-        this.maximum_level = this._maxLevel / 100;
+        this.maximum_level = this._maxLevel;
     }
 };
 
@@ -152,7 +152,7 @@ var OsdWindow = class {
         }
     }
 
-    setMaxLevel(maxLevel = 100) {
+    setMaxLevel(maxLevel = 1) {
         this._level.maxLevel = maxLevel;
     }
 
index e750c207f9a103b19af68e9cfaf3351daa255455..a287a3fb67073db37d27131ee0add64b77d43024 100644 (file)
@@ -94,6 +94,12 @@ var GnomeShell = class {
         if (serializedIcon)
             icon = Gio.Icon.new_for_string(serializedIcon);
 
+        // Translate from percentages in the D-Bus API to floats
+        if (!isNaN(level))
+            level /= 100;
+        if (!isNaN(maxLevel))
+            maxLevel /= 100;
+
         Main.osdWindowManager.show(monitorIndex, icon, label, level, maxLevel);
     }
 
index 03be7b96c37f8fa9289d7a29e3c54c0706a7bfb8..4f0270f9b0681a9271d10609aacf62b7125af2ef 100644 (file)
@@ -139,7 +139,7 @@ var StreamSlider = class {
         this._allowAmplified = this._soundSettings.get_boolean(ALLOW_AMPLIFIED_VOLUME_KEY);
 
         this._slider.maximum_level = this._allowAmplified
-            ? this.getMaxLevel() / 100 : 1;
+            ? this.getMaxLevel() : 1;
 
         if (this._stream)
             this._updateVolume();
@@ -173,7 +173,7 @@ var StreamSlider = class {
         if (!this._stream)
             return null;
 
-        return 100 * this._stream.volume / this._control.get_vol_max_norm();
+        return this._stream.volume / this._control.get_vol_max_norm();
     }
 
     getMaxLevel() {
@@ -181,7 +181,7 @@ var StreamSlider = class {
         if (this._allowAmplified)
             maxVolume = this._control.get_vol_max_amplified();
 
-        return 100 * maxVolume / this._control.get_vol_max_norm();
+        return maxVolume / this._control.get_vol_max_norm();
     }
 };
 Signals.addSignalMethods(StreamSlider.prototype);
@@ -363,8 +363,8 @@ var Indicator = class extends PanelMenu.SystemIndicator {
             return result;
 
         let gicon = new Gio.ThemedIcon({ name: this._volumeMenu.getIcon() });
-        let level = parseInt(this._volumeMenu.getLevel());
-        let maxLevel = parseInt(this._volumeMenu.getMaxLevel());
+        let level = this._volumeMenu.getLevel();
+        let maxLevel = this._volumeMenu.getMaxLevel();
         Main.osdWindowManager.show(-1, gicon, null, level, maxLevel);
         return result;
     }